跳到主要内容

示例

我们有一条包含多组熔炉读数的消息,需要将其拆分为多条独立的消息,以便进行后续处理。

{
"furnace": {
"temp": 86,
"humidity": 64,
"pressure": 80
}
}

需使用的节点

本示例中,我们使用 split 节点将一条消息拆分为多条更小的消息。

参数(Parameter)说明(Description)
名称(Name) 节点的可选标签,用于在流程中标识该节点。
拆分对象(Split the) 要拆分的消息属性,通常为 msg.payload,也可以是其他属性(如 msg.payload.data)。
字符串/二进制缓存 - 拆分方式(String / Buffer - Split using) 针对字符串或二进制缓存类型的负载,指定拆分方式:
字符串(string):使用特定字符串或正则表达式模式拆分消息。
二进制缓存(buffer):按设定的块大小拆分消息。
固定长度(Fixed length of):按设定的长度拆分字符串。
• 留空则不拆分字符串。
作为消息流处理(Handle as a stream of messages) 勾选后,节点会将传入数据视为连续流,数据到达时立即发送拆分后的消息,而非等待完整负载接收完毕。
数组 - 拆分方式(Array - Split using) 固定长度 N(Fixed length of N):将数组拆分为多条消息,每条消息包含 N 个元素。
对象 - 为每个键值对发送一条消息(Object - Send a message for each key/value pair) 每个键值对的值将作为拆分后消息的负载(payload)返回。
将键复制到 msg.payload(Copy key to msg.payload 勾选后,原始键名会作为拆分后消息的 msg.payload 返回。

如何拆分消息?

  1. 事件流程 中拖拽一个 inject 节点,再通过一个 function 节点传递目标对象数据。
  1. 按顺序将其连接到 2 个 split 节点,并为两个节点配置一样的「对象(Object)」属性.
  1. split 节点与 debug 节点连接,查看每条拆分后的输出消息。